/** 使用JSON进行深拷贝，不能放入函数和Symbol等特殊数据，不能循环引用。
 * - 用于在html控制台打印时，数据不会被后面的操作修改
 * - 需要拷贝特殊数据时，请使用 src\手撕代码\深拷贝\index.ts 
 */
export const deep_JSON = <T>(data: T): T => {
    return JSON.parse(JSON.stringify(data))
}
/**睡眠。等待time毫秒后继续 （需要搭配await）
 * @param time 等待的时间，毫秒
 * @example await sleep(100) //等待100ms后继续下面的代码
 */
export const sleep = (time: number) => {
    return new Promise<void>((resolve) => setTimeout(resolve, time))
}
/**获取指定范围的随机整数  [n,m]  */
export const getRandom = (n: number, m: number) => {
    return Math.floor(Math.random() * (m - n + 1)) + n
}